Îñíîâíè õàðàêòåðèñòèêè íà õàðäóåðíèòå è ñîôòóåðíè êîìïîíåíòè íà embedded ñèñòåìèòå

      Îáèêíîâåíî ñå ïðèåìà, ÷å  âãðàäåíèòå ñèñòåìè (embedded systems) ñà åëåêòðîííè öèôðîâè ñèñòåìè, ïðîãðàìèðàíè äà èçïúëíÿâàò îïðåäåëåíè ôóíêöèè â ðåàëíî âðåìå.  çàâèñèìîñò îò ïðåäíàçíà÷åíèåòî ñè, ñå õàðàêòåðèçèðàò ñ ðàçëè÷íà ñëîæíîñò – îò åëåìåíòàðíè ñ åäèí ìèêðîêîíòðîëåðåí ÷èï, äî êîìïëåêñíè ñèñòåìè, ñúñòàâåíè îò ìíîæåñòâî óñòðîéñòâà, ïåðèôåðíè è ìðåæîâè ìîäóëè, ìîíòèðàíè íà îáùî øàñè èëè äîðè èíòåãðèðàíè â îáù øêàô. Êàòî ñúâðåìåííà òåíäåíöèÿ ïðè ïðîèçâîäñòâîòî èì ñå î÷åðòàâà ñòðåìåæúò êúì ìèíèìèçèðàíå íà ðàçìåðèòå, ìàñàòà, êîíñóìèðàíàòà åíåðãèÿ è öåíàòà èì è óâåëè÷àâàíå íà íàäåæäíîñòòà è ôóíêöèîíàëíîñòòà íà ñèñòåìèòå.
Âãðàäåíèòå ñèñòåìè íàìèðàò øèðîêî ïðèëîæåíèå â îáëàñòòà íà òåëåêîìóíèêàöèèòå, ïîòðåáèòåëñêàòà åëåêòðîíèêà, òðàíñïîðòíèòå ñðåäñòâà è ïðîìèøëåíîñòòà. Âñåêè ñúâðåìåíåí òðàíñìèòåð çà èçìåðâàíå íà íàëÿãàíå, òåìïåðàòóðà, íèâî èëè òåãëî ñúäúðæà â ñåáå ñè âãðàäåíà ñèñòåìà, êîÿòî îáðàáîòâà èçìåðåíàòà ñòîéíîñò íà ïàðàìåòúðà, êàòî ôèëòðèðà íåêîðåêòíèòå ñòîéíîñòè, êîðèãèðà ãè ñúîáðàçíî âëèÿíèåòî íà îêîëíàòà ñðåäà è ãè ïðåîáðàçóâà ìàòåìàòè÷åñêè. Âãðàäåíîòî óïðàâëåíèå ñëåäè çà òî÷íîñòòà íà èçõîäíèòå ñèãíàëè, èçâúðøâà êîìóíèêàöèÿ ñ äðóãè óñòðîéñòâà è ñèñòåìè, ïðàâè àâòîäèàãíîñòèêà è ïðåäàâà àëàðìåíè ñúîáùåíèÿ. Ïðè ðàçëè÷íèòå àíàëèòè÷íè ïðèáîðè, îñâåí èçáðîåíèòå ôóíêöèè, âãðàäåíèòå ñèñòåìè êîíòðîëèðàò âçèìàíåòî, êîíäèöèîíèðàíåòî è ôèëòðèðàíåòî íà ïðîáàòà, ñëåä êîåòî ñëåäÿò çà èçâúðøâàíåòî íà àíàëèçà. Íÿêîè ìàøèíè èëè àãðåãàòè â èíäóñòðèÿòà, êàòî íàïðèìåð ïîìïè, âåíòèëàòîðè, êîìïðåñîðè, ñà ñíàáäåíè ñ âãðàäåíè ñèñòåìè, êîèòî íàáëþäàâàò ðàáîòàòà èì. ×ðåç ñåíçîðè, èçìåðâàùè âèáðàöèè, ëèíåéíè èçìåñòâàíèÿ, ñêîðîñòè íà âúðòåíå è äðóãè ïàðàìåòðè, òåçè ñèñòåìè àíàëèçèðàò ðàáîòàòà íà ìàøèíàòà è ãåíåðèðàò öåííà èíôîðìàöèÿ, èçïîëçâàíà çà ïðåäñêàçâàùî óïðàâëåíèå è îïòèìàëíà åêñïëîàòàöèÿ íà îáîðóäâàíåòî.

Îñíîâíè õàðàêòåðèñòèêè
Îòëè÷èòåëíà õàðàêòåðèñòèêà íà âãðàäåíèòå ñèñòåìè å îãðàíè÷åíèÿò áðîé ïðåäâàðèòåëíî äåôèíèðàíè ôóíêöèè, êîèòî ñà ïðîåêòèðàíè äà èçïúëíÿâàò. Ñèñòåìèòå ñà òÿñíî ñïåöèàëèçèðàíè è ðåøàâàò ñàìî îïðåäåëåíà çàäà÷à èëè ñðàâíèòåëíî îãðàíè÷åí áðîé çàäà÷è, çà ðàçëèêà îò äðóãè åëåêòðîííè óñòðîéñòâà ñ ïîäîáíà åëåìåíòíà áàçà, êîèòî èçïúëíÿâàò øèðîê íàáîð îò ôóíêöèè. Îñâåí òîâà, âãðàäåíèòå ñèñòåìè îáèêíîâåíî ðàçïîëàãàò ñ îãðàíè÷åíà çàõðàíâàùà ìîùíîñò è òðÿáâà äà èìàò åôåêòèâíî óïðàâëåíèå íà çàõðàíâàíåòî, çà äà ìîæå íàëè÷íàòà ìîùíîñò äà ñå ðàçïðåäåëè çà âñè÷êè èçïúëíÿâàíè çàäà÷è. Ðåñóðñèòå èì íèêîãà íå òðÿáâà äà ñå èçïîëçâàò íàïúëíî è âèíàãè òðÿáâà äà èìà ðåçåðâè, êîèòî äà ñå ìîáèëèçèðàò ïðè íåïðåäâèäåíè ñèòóàöèè â ïðîöåñà íà åêñïëîàòàöèÿ.

Äðóãà âàæíà òÿõíà îñîáåíîñò å ðàáîòàòà â ðåàëíî âðåìå, êîåòî èçèñêâà ïðåäâèäåíèòå ñèòóàöèè äà áúäàò îáðàáîòåíè çà îïðåäåëåíîòî âðåìå, ïî çàäàäåíèòå àëãîðèòìè. Çàáàâÿíåòî èëè îòêëîíåíèåòî îò êîäèðàíèÿ àëãîðèòúì ìîæå äà äîâåäå äî ïîâðåäà, êàòàñòðîôà èëè çàãóáà íà ÷îâåøêè æèâîò.

Èíòåðôåéñè âúâ âãðàäåíèòå ñèñòåìè
Èíòåðôåéñèòå âúâ âãðàäåíèòå ñèñòåìè ñà ðàçíîîáðàçíè è ÷àñò îò òÿõ äîðè íå ñà ñòàíäàðòèçèðàíè. Êëàñèôèêàöèÿòà å òðóäíà è ïðîòèâîðå÷èâà ïîðàäè îãðîìíîòî êîëè÷åñòâî ïàðàìåòðè, ïî êîèòî ìîãàò äà ñå ñðàâíÿâàò è êëàñèôèöèðàò. Íàé-ïðîñòî êàçàíî, èíòåðôåéñèòå ñå äåëÿò íà îïåðàòîðñêè èíòåðôåéñè  (Human-Machine interfacesHMI) è åëåêòðè÷åñêè èíòåðôåéñè (èíòåðôåéñè çà âðúçêà ñ êîìïîíåíòè è äðóãè óñòðîéñòâà). Êúì èíòåðôåéñèòå îò ãðóïàòà HMI ñïàäàò: êëàâèàòóðè, ìîíèòîðè, êëþ÷îâå, áóòîíè, åäèíè÷íè èëè ãðóïîâè èíäèêàòîðè, èçëú÷âàòåëè íà àêóñòè÷íè, óòðàçâóêîâè, òîïëèííè ñèãíàëè, åëåêòðîäâèãàòåëè, åëåêòðîìàãíèòè è äðóãè.
Åëåêòðè÷åñêèòå èíòåðôåéñè ñà ìíîãî âèäîâå è íàé-îáùî ïîïàäàò â äâå ãðóïè: âúòðåøíè è âúíøíè. Ðàçëèêàòà å ãîëÿìà, êàòî ñúùåñòâåíèòå ïàðàìåòðè ñà øóìîóñòîé÷èâîñòòà, äúëæèíàòà íà âðúçêàòà, ñêîðîñòòà è äð. Êàòî âúòðåøíè èíòåðôåéñè ìîãàò äà ñå ïîñî÷àò I2C, SPI, ISA è ïîäîáíèòå èì, êîèòî îñúùåñòâÿâàò âðúçêà ìåæäó êîìïîíåíòè è ìîäóëè âúâ âãðàäåíèòå ñèñòåìè è ïî-ðÿäêî âðúçêà íà ìàëêè ðàçñòîÿíèÿ ìåæäó äâå èëè ïîâå÷å ñèñòåìè â åäíà ïî-ãîëÿìà âãðàäåíà ñèñòåìà. Òåçè èíòåðôåéñè îáèêíîâåíî ïîêðèâàò ðàçñòîÿíèÿ äî íÿêîëêî ìåòðà èëè äîðè ìíîãî ïî-ìàëêè.

Âúíøíèòå èíòåðôåéñè ñå ïðèëàãàò çà âðúçêà ìåæäó îòäåëíè âãðàäåíè ñèñòåìè íà çíà÷èòåëíî ðàçñòîÿíèå åäíà îò äðóãà èëè ìåæäó âãðàäåíè ñèñòåìè è îòäàëå÷åíè ïåðèôåðíè óñòðîéñòâà. Òàêèâà ñà RS232, TTY, Ethernet, Centronics, FlexRay, CAN, LIN è äð. Ðàçñòîÿíèåòî îáèêíîâåíî å îò íÿêîëêî ìåòðà äî íÿêîëêî êèëîìåòðà â çàâèñèìîñò îò èíòåðôåéñà. ×àñò îò âúíøíèòå èíòåðôåéñè ñà ãàëâàíè÷íî èçîëèðàíè ñ òðàíñôîðìàòîðè èëè ñ îïòè÷åñêè êàáåëè.  òàçè ãðóïà ñà è ðàäèîèíòåðôåéñèòå çà ìàëêè èëè ïî-çíà÷èòåëíè ðàçñòîÿíèÿ.

Ïëàòôîðìè çà èçãðàæäàíå íà âãðàäåíè ñèñòåìè
Âãðàäåíèòå ñèñòåìè ìîãàò äà âêëþ÷âàò îáèêíîâåíè ìèêðîïðîöåñîðè (mP) è ìèêðîêîíòðîëåðè (mC), êîèòî èìàò ïî-ìàëêà èç÷èñëèòåëíà ìîùíîñò, íî çà ñìåòêà íà òîâà ñà ñ ïî-ðàçíîîáðàçíà ïåðèôåðèÿ. Òàçè õàðàêòåðèñòèêà íà ìèêðîêîíòðîëåðèòå îáóñëàâÿ øèðîêàòà èì óïîòðåáà â ñèñòåìèòå ñ íèñêà è ñðåäíà ñëîæíîñò.

Çà ðàçëèêà îò ïåðñîíàëíèòå êîìïþòðè è ñúðâúðèòå, ïðè âãðàäåíèòå ñèñòåìè ñå èçïîëçâàò ãîëÿì áðîé áàçîâè àðõèòåêòóðè, ñðåä êîèòî ôîí Íîéìàí è Õàðâàðä. Ïðè êîíöåïöèÿòà ôîí Íîéìàí ñå èçïîëçâà îáùà ïàìåò çà ñúõðàíåíèå íà ïðîãðàìíèòå èíñòðóêöèè è äàííèòå, äîêàòî ïðè àðõèòåêòóðàòà Õàðâàðä ñúõðàíåíèåòî íà ïðîãðàìíèòå èíñòðóêöèè è äàííèòå ñòàâà â îòäåëíè àäðåñíè ïðîñòðàíñòâà. Òîâà ïîçâîëÿâà äàííèòå äà èìàò ïðèìåðíî 8-áèòîâ ôîðìàò, à èíñòðóêöèèòå - 12-áèòîâ.

Õàðäóåðíè êîìïîíåíòè íà ñèñòåìèòå
Ïðîöåñîð. Çà öåëèòå íà âãðàäåíîòî óïðàâëåíèå íàìèðàò ïðèëîæåíèå êàêòî RISC, òàêà è RISC ïðîöåñîðèòå. Âîäåù ïðèíöèï ïðè êîíöåïöèÿòà RISC (Reduced Instruction Set Computer – êîìïþòúð ñ íàìàëåí íàáîð èíñòðóêöèè) å èçïúëíåíèåòî íà ìàêñèìàëíî êîìïàêòíè è îïðîñòåíè êîìàíäè, êîèòî èçèñêâàò ìèíèìàëíî âðåìå (òàêòîâå). Òîçè ïðèíöèï îïðîñòÿâà àðõèòåêòóðàòà, ïîçâîëÿâà ïðîöåñîðúò äà ðàáîòè íà ïî-âèñîêà òàêòîâà ÷åñòîòà è íàìàëÿâà öåíàòà ìó. Çà öåëèòå íà âãðàäåíîòî óïðàâëåíèå ñà äîáèëè ïîïóëÿðíîñò ðàçëè÷íè ôàìèëèè RISC ïðîöåñîðè: ARC (íà ARC International), ARM (íà ARM Holdings), AVR (íà Atmel), PIC (íà Microchip), MSP430 (íà TI) è äð. Êàòî ïðîòèâîïîëîæíîñò íà RISC ñúùåñòâóâà êîíöåïöèÿòà CISC (Complex Instruction Set Computer – êîìïþòúð ñ êîìïëåêñåí íàáîð èíñòðóêöèè), íî òÿ å ñ ïî-îãðàíè÷åíî ïðèëîæåíèå ïðè âãðàäåíèòå ñèñòåìè. Ïî îòíîøåíèå äúëæèíàòà íà äóìàòà íà ïðîöåñîðèòå, èçïîëçâàíè çà âãðàäåíî óïðàâëåíèå, ñúùåñòâóâà ãîëÿìî ðàçíîîáðàçèå – òå ìîãàò äà ñà îò 4- äî 64-áèòîâè è ïîâå÷å (ãëàâíî ïðè DSP – öèôðîâè ñèãíàëíè ïðîöåñîðè), íî â íàé-ìàñîâà óïîòðåáà ñà 8- è 16-áèòîâèòå.

Ïðîèçâîäèòåëíîñòòà íà ïðîöåñîðà çàâèñè îò íÿêîëêî ôàêòîðà. Íà ïúðâî ìÿñòî, ìàêñèìàëíàòà ÷åñòîòà, ñ êîÿòî ìîæå äà ðàáîòè ïðîöåñîðíîòî ÿäðî. Îáèêíîâåíî òÿ å â äèàïàçîíà îò 4 MHz äî 80 MHz (çà íÿêîè ìîäåëè DSP íàäõâúðëÿ 400 MHz).  ÿäðîòî íà ïðîöåñîðà ñå íàìèðà ÀËÓ (àðèòìåòè÷íî ëîãè÷åñêî óñòðîéñòâî), îòãîâîðíî çà èçâúðøâàíåòî íà èç÷èñëåíèÿòà è îïåðàöèèòå â çàâèñèìîñò îò èçïúëíÿâàíàòà èíñòðóêöèÿ. Îò äúëæèíàòà íà äóìèòå, êîèòî òî ìîæå äà îáðàáîòâà, ñúùî çàâèñè ïðîèçâîäèòåëíîñòòà íà öåëèÿ ïðîöåñîð. Äðóã ôàêòîð, âëèÿåù íà ïðîèçâîäèòåëíîñòòà, å áðîÿò íà ðàáîòíèòå ðåãèñòðè â ÿäðîòî íà ïðîöåñîðà. Êîëêîòî å ïî-ãîëÿì òåõíèÿò áðîé, òîëêîâà ïî-âèñîêà ìîæå äà áúäå ïðîèçâîäèòåëíîñòòà íà ñúîòâåòíèÿ ïðîöåñîð. Îáèêíîâåíî ðàçðåäíîñòòà íà ðåãèñòðèòå å ðàâíà ñ òàçè íà ÀËÓ.

Âàæåí ïîêàçàòåë, êîéòî îïðåäåëÿ ïðîèçâîäèòåëíîñòòà íà ÿäðîòî, à îòòàì è íà ïðîöåñîðà/êîíòðîëåðà, å îðãàíèçàöèÿòà íà îáðàáîòâàíå íà èíñòðóêöèèòå. Ìíîãî îò ïðîèçâîäèòåëèòå çàëàãàò â ñâîèòå ïðîäóêòè ò. íàð. êîíâåéåðíà îáðàáîòêà íà èíñòðóêöèèòå. Èäåÿòà íà êîíâåéðà (Pipeline) å äà íå ñå èç÷àêâà çàâúðøâàíåòî íà èçïúëíåíèåòî íà èíñòðóêöèÿ, çà äà ñå çàïî÷íå ñëåäâàùàòà, à îáðàáîòêàòà íà íîâàòà èíñòðóêöèÿ äà ñòàðòèðà âåäíàãà ñëåä ïðåäõîäíàòà. Òàêà, â îïòèìàëíèÿ ñëó÷àé, åäèí òàêò ñëåä íà÷àëîòî íà ïúðâàòà èíñòðóêöèÿ ñå çàðåæäà âòîðàòà, ñëåä îùå åäèí òàêò - òðåòàòà. Ïðè ÷åòâúðòèÿ òàêò åäíîâðåìåííî ñå îáðàáîòâàò ÷åòèðè èíñòðóêöèè, âñÿêà îòìåñòåíà íà åäèí òàêò îò ïðåäõîäíàòà.

Ðàçãëåæäàéêè ïðîöåñîðíîòî ÿäðî, òðÿáâà äà îòáåëåæèì îùå åäèí ôàêòîð, âëèÿåù íà íåãîâàòà èç÷èñëèòåëíà ìîù – âúòðåøíàòà ïàìåò èëè ò. íàð. êåø ïàìåò. Êåøúò ïðåäñòàâëÿâà ñïåöèàëíà äîáàâêà êúì äåêîäåðà íà ïàìåòòà íà ïðîöåñîðà. Ðåàëèçèðà ñå îò ìíîãî áúðçà ïàìåò è ñïåöèàëèçèðàíà ëîãèêà çà íåéíîòî óïðàâëåíèå. Îñíîâíàòà èäåÿ íà êåøà å äà çàïèøå ÷àñò îò ïàìåòòà (÷åñòî èçïîëçâàíà) â ñîáñòâåíàòà ñè ïàìåò è àêî ïðîöåñîðúò ïîèñêà àäðåñ îò òàçè ÷àñò äà ñå èçïîëçâà ñòîéíîñòòà îò áúðçàòà êåø ïàìåò, à íå îò ïî-áàâíàòà âúíøíà ïàìåò.

Øèíèòå ñà ñðåäñòâî çà ïðåíàñÿíå íà èíôîðìàöèÿòà ïîä ôîðìàòà íà öèôðîâè ñèãíàëè. Ðàçëè÷àâàò ñå òðè òèïà øèíè, â çàâèñèìîñò îò ïðåäíàçíà÷åíèåòî èì – àäðåñíà, óïðàâëÿâàùà è øèíà çà äàííè. Àäðåñíàòà øèíà ñâúðçâà ïðîöåñîðà ñ ïàìåòòà è ïåðèôåðíèòå óñòðîéñòâà. Øèíàòà çà äàííè å äâóïîñî÷íà è ïðåíàñÿ èíôîðìàöèÿ ìåæäó ïðîöåñîðà è ïàìåòòà èëè ïåðèôåðíèòå óñòðîéñòâà. Áðîÿò íà ïèñòèòå îïðåäåëÿ áðîÿ áèòîâå, êîèòî ìîãàò äà ñå çàïèøàò âúâ âñÿêà êëåòêà íà ïàìåòòà. Âñè÷êè äîïúëíèòåëíè äàííè çà óïðàâëåíèå íà äåéíîñòòà íà ñèñòåìàòà ñå ïðåíàñÿò îò óïðàâëÿâàùàòà øèíà.
Ïàìåòòà ñúõðàíÿâà èíñòðóêöèèòå è äàííèòå, ñ êîèòî ðàáîòè ïðîöåñîðúò.  ïîâå÷åòî ñëó÷àè ïàìåòòà çà ïðîãðàìíèòå èíñòðóêöèè å îò òèïà flash, êîÿòî ìîæå äà áúäå çàïèñâàíà ìíîãîêðàòíî, íàïðèìåð 10 000 è ïîâå÷å ïúòè èëè OTP (One-Time Programmable – åäíîêðàòíî ïðîãðàìèðóåìà), êîÿòî å ïî-íàäåæäíà, íî ìîæå äà áúäå ïðîãðàìèðàíà ñàìî âåäíúæ. Ïðè íÿêîè ìîäåëè ìèêðîêîíòðîëåðè å ïðåäâèäåíà âúçìîæíîñò çà âêëþ÷âàíå íà äîïúëíèòåëíà âúíøíà ïàìåò.

Ïåðèôåðèÿòà âêëþ÷âà äèñêðåòíèòå âõîäîâå/èçõîäè çà îáùà óïîòðåáà (General Purpose Input/Output - GPIO), êîèòî ñëóæàò çà óïðàâëåíèå íà âúíøíè êîìïîíåíòè (ðåëåòà, òèðèñòîðè è äð.) èëè çà ïîëó÷àâàíå íà èíôîðìàöèÿ îò äâîè÷íè ñåíçîðè (áóòîíè, êðàéíè èçêëþ÷âàòåëè, ñåíçîðè çà ïîëîæåíèå è äð.).  ñúâðåìåííèòå ìèêðîêîíòðîëåðè âñåêè îò èçâîäèòå çà GPIO ìîæå äà áúäå ïðîãðàìèðàí êàòî âõîä èëè êàòî èçõîä â çàâèñèìîñò îò íóæäèòå íà ïðèëîæåíèåòî. Íÿêîè ïðîèçâîäèòåëè äàâàò äîïúëíèòåëíà ôóíêöèîíàëíîñò íà äèñêðåòíèòå âõîäîâå/èçõîäè, êàòî íàïðèìåð äà ìîãàò äà èçäúðæàò íà ïî-âèñîêî òîêîâî íàòîâàðâàíå, äà ìîãàò äà óïðàâëÿâàò òå÷íîêðèñòàëíè äèñïëåè è äð. Êîãàòî å íåîáõîäèì îáìåí íà àíàëîãîâà èíôîðìàöèÿ, ñå èçïîëçâà ÀÖÏ (àíàëîãîâî-öèôðîâ ïðåîáðàçóâàòåë) èëè ÖÀÏ ïåðèôåðèÿ. Èçâîäèòå, íà êîèòî ñå èçâåæäà òàêàâà èíôîðìàöèÿ, êàòî ïðàâèëî ñà îáùè ñ òåçè çà GPIO è íåîáõîäèìàòà ôóíêöèÿ ñå çàäàâà îò ïðîãðàìíîòî îñèãóðÿâàíå. Ðàçðåäíîñòòà è ñêîðîñòòà íà ïðåîáðàçóâàíå íà âãðàäåíèòå ÀÖÏ/ÖÀÏ å òâúðäå ðàçëè÷íà çà âñåêè îò ìîäåëèòå ìèêðîêîíòðîëåðè, íî îáèêíîâåíî å îò 8 äî 16 áèòà è ñ 10 000 äî 1 ìèëèîí îò÷åòà çà ñåêóíäà.

Òàéìåðèòå ñà äðóãà âàæíà ïåðèôåðèÿ è òîâà îáóñëàâÿ íàëè÷èåòî èì â ïî÷òè âñè÷êè ñúâðåìåííè ìèêðîêîíòðîëåðè. Ìíîãî ÷åñòî òàéìåðúò ìîæå äà áúäå ïðîãðàìèðàí êàòî áðîÿ÷, äà èìà äîïúëíèòåëåí ïðîãðàìèðóåì äåëèòåë íà âõîäÿùîòî ìó òàêòèðàíå, à èçòî÷íèêúò íà òàêòîâè èìïóëñè äà ñå èçáèðà ïî ñîôòóåðåí ïúò.  ïî-ãîëåìèòå ìèêðîêîíòðîëåðè èìà ïî íÿêîëêî òàéìåðà, êîèòî ìîãàò äà ñà ñ ðàçëè÷íà ðàçðåäíîñò, íàïðèìåð 8- è 16-áèòîâè. Ðàáîòàòà íà òàéìåðèòå å ïðÿêî ñâúðçàíà ñ òàêòîâèÿ ãåíåðàòîð, êîéòî ñúùî å èíòåãðèðàí â ÷èïà. Ðåæèìèòå ìó íà ðàáîòà ñå îïðåäåëÿò ñîôòóåðíî è ìîãàò äà áúäàò:
- êàòî RC (ðåçèñòîðíî-êàïàöèòèâåí) ãåíåðàòîð, ïðè êîéòî íå ñà íåîáõîäèìè äîïúëíèòåëíè âúíøíè êîìïîíåíòè;
- êîãàòî å íåîáõîäèìà âèñîêà òî÷íîñò íà òàêòîâèòå èìïóëñè å ïðåäâèäåíà âúçìîæíîñò çà âúíøíî âêëþ÷âàíå íà êâàðöîâ èëè êåðàìè÷åí êðèñòàë;
- ÷ðåç âúíøåí èçòî÷íèê íà òàêòîâà ÷åñòîòà. Òîçè ðåæèì ñå èçïîëçâà, êîãàòî òðÿáâà äà ñå ñèíõðîíèçèðà ðàáîòàòà íà ìèêðîêîíòðîëåðà ñ äðóãî, âúíøíî óñòðîéñòâî.
Íÿêîè îò òàêòîâèòå ãåíåðàòîðè ñà ñíàáäåíè ñ PLL ñõåìè (phase-locked loop – àâòîìàòè÷íà ôàçîâà äîíàñòðîéêà íà ÷åñòîòàòà), ÷ðåç êîèòî ñå ïîñòèãàò ïî-âèñîêè ÷åñòîòè. Ñúùåñòâóâàò ìîäåëè ìèêðîêîíòðîëåðè, ïðè êîèòî PLL ñå èçïîëçâà è çà óïðàâëåíèå íà ÷åñòîòàòà, ñ öåë îïòèìèçàöèÿ íà åíåðãîïîòðåáëåíèåòî.

Êîìóíèêàöèÿ
Êîìóíèêàöèîííèòå âúçìîæíîñòè ïðè âãðàäåíèòå ñèñòåìè ñå õàðàêòåðèçèðàò ñ ãîëÿìî ðàçíîîáðàçèå:
- Ñåðèéíè êîìóíèêàöèîííè èíòåðôåéñè - RS-232, RS-422, RS-485. Èçïîëçâàò ñå ãëàâíî çà êîìóíèêàöèÿ ñ êîìïþòðè èëè ñ äðóãè âãðàäåíè ñèñòåìè;
UART/ USART (Universal Synchronous and Asynchronous Receiver/Transmitter – óíèâåðñàëåí ñèíõðîíåí è àñèíõðîíåí ïðèåìíèê/ïðåäàâàòåë).
- Ñèíõðîííè ñåðèéíè êîìóíèêàöèîííè èíòåðôåéñè. Íàìèðàò ïðèëîæåíèå êàòî ïðÿê îáìåí ìåæäó ìèêðîêîíòðîëåðè, çà ïúðâîíà÷àëíî ïðîãðàìèðàíå íà ÷èïà (çàðåæäàíå íà ïðîãðàìà è íà äàííè) è äð. Êúì òàçè ãðóïà ñïàäàò I2C (Inter-Integrated Circuit), SPI (Serial Peripheral Interface Bus), SSC è ESSI (Enhanced Synchronous Serial Interface).
USB (Universal Serial Bus) - åäèí íàëîæèë ñå â ïîñëåäíèòå ãîäèíè êîìóíèêàöèîíåí èíòåðôåéñ, ñ êîéòî ñà ñíàáäåíè ãîëÿìà ÷àñò îò ñúâðåìåííèòå óñòðîéñòâà;
- Ïðîòîêîëè çà ìðåæîâà êîìóíèêàöèÿ êàòî Ethernet, CAN (Controller Area Network), LonWorks è äð. Íàëè÷èåòî íà òàêàâà ïåðèôåðèÿ â ìèêðîêîíòðîëåðà ñèëíî ðåäóöèðà áðîÿ íà äîïúëíèòåëíèòå âúíøíè êîìïîíåíòè, îïðîñòÿâà ïå÷àòíàòà ïëàòêà è ñíèæàâà öåíàòà íà âãðàäåíàòà ñèñòåìà.

Ïðîãðàìíî îñèãóðÿâàíå íà âãðàäåíèòå ñèñòåìè
Ïðîãðàìíîòî îñèãóðÿâàíå çà âãðàäåíèòå ñèñòåìè å ïîçíàòî êàòî ôúðìóåð (firmware) èëè "òâúðäà" ïðîãðàìà, òúé êàòî å çàïèñàíî â åíåðãîíåçàâèñèìà ïàìåò è â èäåàëíèÿ ñëó÷àé ñå ïðåäïîëàãà, ÷å íÿìà äà ñå ïðîìåíÿ â ïðîöåñà íà åêñïëîàòàöèÿ íà ñèñòåìàòà, êîéòî ìîæå äà áúäå äåñåòêè ãîäèíè.  ìíîãî ñúâðåìåííè ñèñòåìè ïðîãðàìèòå ñà çàïèñàíè âúâ ôëàøïàìåò è ìîãàò (ïðè îïðåäåëåíè ìåðêè çà ñèãóðíîñò) äà ñå ïîäìåíÿò ñ öåë ìîäåðíèçàöèÿ. Òîâà äàâà âúçìîæíîñò çà ðàçâèòèå íà âãðàäåíèòå ñèñòåìè, êîèòî âå÷å ñà â åêñïëîàòàöèÿ, íî ñúçäàâà è ïðåäïîñòàâêè çà çëîóïîòðåáè. Ñðåä íàé-ïîïóëÿðíèòå îïåðàöèîííè ñèñòåìè (ÎÑ) çà âãðàäåíèòå ñèñòåìè ñà QNX4 RIOS, Embedded Linux, Windows CE è äð.

QNX4 RIOS å ðàçðàáîòåíà îò QNX Software Systems çà ïðèëîæåíèÿ ãëàâíî â èíòåëèãåíòíè óñòðîéñòâà çà áèòà, ìàëêè òåëåêîìóíèêàöèîííè óñòðîéñòâà, àâòîìîáèëíàòà ïðîìèøëåíîñò, ìåäèöèíñêè ïðèáîðè. QNX4 ìîæå äà ðàáîòè ñ âñè÷êè ïðîöåñîðè îò ñåðèÿòà x86 ñëåä 386. Òîâà å åäíà îò íàé-ìàëêèòå ÎÑ íà ïàçàðà íà âãðàäåíèòå ñèñòåìè çà óïðàâëåíèå è ìîæå ëåñíî äà ñå àäàïòèðà êúì ìíîãî ïðèëîæåíèÿ. ßäðîòî íà ñèñòåìàòà èçèñêâà ñàìî 12 kB ïàìåò, çà äà ðàáîòè. Çà ñðàâíåíèå, Windows CE èçèñêâà ïîíå 350 kB çà ÿäðîòî ñ èçâåñòíè êîìóíèêàöèîííè âúçìîæíîñòè, Linux - ìèíèìóì 128-256 kB çà ÿäðîòî è îùå íàä 100 kB çà äðóãèòå êîìïîíåíòè. Êàêòî Windows CE, òàêà è Linux ìîãàò äà ñå êîíôèãóðèðàò çà ñúîòâåòíîòî ïðèëîæåíèå è çàòîâà îêîí÷àòåëíèÿò ðàçìåð íà èíñòàëèðàíàòà ÎÑ ìîæå äà ñå ïîëó÷è â øèðîêè ãðàíèöè.

Linux çà âãðàäåíè ñèñòåìè ñòàíà ìíîãî ïîïóëÿðíà ïðåç ïîñëåäíèòå íÿêîëêî ãîäèíè è òî íàé-âå÷å â èíòåëèãåíòíèòå åëåêòðîäîìàêèíñêè ïðèáîðè, ðóòåðè è ñóè÷îâå çà òåëåêîìóíèêàöèèòå, óðåäè, ðàáîòåùè ñ Èíòåðíåò è ïðèëîæåíèÿ â àâòîìîáèëîñòðîåíåòî. Òúé êàòî Linux èìà ìîäóëíà ñòðóêòóðà, å ëåñíî äà ñå îñòàâÿò ñàìî ìîäóëèòå çà ñúîòâåòíîòî ïðèëîæåíèå, êîåòî äàâà âúçìîæíîñò çà ïîääúðæàíå íà íåîáõîäèìèÿ ìèíèìóì îò ÎÑ â êîíêðåòíîòî èçäåëèå. Åäíî îò îãðîìíèòå ïðåäèìñòâà íà Linux å, ÷å êîäúò å øèðîêî äîñòúïåí, ìîæå äà ñå ïðèãîäè êúì ìíîãî ïðîöåñîðè è å ñòàáèëåí.

Windows CE å âúâåäåí çà ïúðâè ïúò â ìîáèëíèòå êîìïþòðè îò ñåðèÿòà Handheld PC ïðåç 1996 ã. Íàìèðà ïðèëîæåíèå è ïðè êîìïþòðèòå çà àâòîìîáèëè, âúâ âèäåîèãðè, öèôðîâè êàìåðè, ïðîãðàìèðóåìè ëîãè÷åñêè êîíòðîëåðè çà ïðîìèøëåíîñòòà, áàðêîä ÷åòöè è äð.
Ìîäåðíèòå îïåðàöèîííè ñèñòåìè çà âãðàäåíèòå ñèñòåìè ïîääúðæàò ñëîæíè àëãîðèòìè çà óïðàâëåíèå íà ïàìåòòà, êîèòî îñèãóðÿâàò íåéíîòî îïòèìàëíî èçïîëçâàíå. Ñúùî òàêà ñå èçïîëçâàò ñèñòåìè çà çàùèòà íà ïàìåòòà è âõîäíî-èçõîäíîòî ïðîñòðàíñòâî îò ãðåøêè â ïðîãðàìàòà, òàêà ÷å àêî ñå ïîëó÷è ãðåøêà òÿ äà îãðàíè÷è íåïðèÿòíèòå ïîñëåäñòâèÿ äî ìèíèìóì è ñèñòåìàòà äà ñå ñàìîâúçñòàíîâè.

Èíñòðóìåíòè çà òåñòâàíå è êîðèãèðàíå
Ïðîöåñúò íà èçïèòâàíå è êîðåêöèÿ íà ïðîãðàìíîòî îñèãóðÿâàíå, íàðè÷àí îùå äåáúãèíã (debugging), îòíåìà ãîëÿìà ÷àñò îò óñèëèÿòà è âðåìåòî íà ðàçðàáîò÷èöèòå. Ïîðàäè òàçè ïðè÷èíà, âñè÷êè ïðîèçâîäèòåëè íà ìèêðîïðîöåñîðè è ìèêðîêîíòðîëåðè çà âãðàäåíè ñèñòåìè ñà ïðåäâèäèëè èíñòðóìåíòè, ÷ðåç êîèòî òîé äà áúäå óëåñíåí. Êîìïëåêñúò îò ñðåäñòâà çà äåáúãèíã âêëþ÷âà òðè ñúñòàâíè ÷àñòè. Ïúðâàòà å íàëè÷èåòî íà íåîáõîäèìàòà ïåðèôåðèÿ â ìèêðîêîíòðîëåðà. Øèðîêî ðàçïðîñòðàíåíèå ñà äîáèëè JTAG (Joint Test Action Group) – ñïåöèàëèçèðàí èíòåðôåéñ çà èçïèòâàíå íà íàñèòåíè ïå÷àòíè ïëàòêè; ISP (In-System Programming) – âúòðåøíîñõåìíî ïðîãðàìèðàíå; ICSP (In Circuit Serial Programming) – ìåòîä çà äèðåêòíî ïðîãðàìèðàíå íà ìèêðîêîíòðîëåðè, íàïðèìåð îò ñåðèèòå PIC è AVR; BDM (Background Debug Mode) – èíòåðôåéñ, èçïîëçâàí ãëàâíî â ïðîäóêòèòå íà Freescale è äð. Âòîðàòà ñúñòàâíà ÷àñò ïðåäñòàâëÿâà ñïåöèàëèçèðàí õàðäóåð (âãðàäåíà ñèñòåìà âúâ âèä íà ïå÷àòíà ïëàòêà èëè ñàìîñòîÿòåëíî óñòðîéñòâî), ÷ðåç êîéòî ñå èçâúðøâà ïðîãðàìèðàíå, ñèìóëèðàíå èëè åìóëèðàíå. Òðåòèÿò åëåìåíò îò ñðåäñòâàòà çà äåáúãèíã å ïðîãðàìíîòî îñèãóðÿâàíå çà ïåðñîíàëåí êîìïþòúð. Ïîïóëÿðíîñò ñà äîáèëè ñîôòóåðíè ïàêåòè îò òèïà IDE (Integrated Development Environment) – èíòåãðèðàíà ñðåäà çà ðàçðàáîòêà. Òå äàâàò âúçìîæíîñò çà ïèñàíå íà ïðîãðàìè, çà çàïèñâàíåòî èì â ïàìåòòà íà ìèêðîêîíòðîëåðèòå èëè çà ïðî÷èòàíåòî èì, çà ñèìóëèðàíå äåéñòâèåòî íà ïðîãðàìàòà è ïîâåäåíèåòî íà öÿëàòà âãðàäåíà ñèñòåìà è äð.